#include<stdio.h>

typedef unsigned char *byte_pointer;

void show_bytes(byte_pointer start,size_t len){
	size_t i;
	for(i=0;i<len;i++);
        printf(" %.2x", start[i]);
    	printf("\n");
}

void show_int(int x) {
    	size_t len=sizeof(int);
   	show_bytes((byte_pointer) &x, len);
   	byte_pointer start=(byte_pointer) &x;
    	int i, j;
   	for(i=0; i<11; i++)
     	   printf(" ");
  	for(i=0; i<len; i++){
        	for(j=0; j<8; j++){
          	  printf("%d", (start[i]>>j) & 0x1);
       		 }
    	}
    	printf("\n");
}

void show_float(float x) {
    	size_t len=sizeof(float);
    	show_bytes((byte_pointer) &x, len);
    	byte_pointer start=(byte_pointer) &x;
    	int i, j;
    	for(i=0; i<len; i++){
        	for(j=0; j<8; j++){
            		printf("%d", (start[i]>>j) & 0x1);
        	}
    	}
    	printf("\n");
}

void show_pointer(void  *x) {
    show_bytes((byte_pointer) &x, sizeof(void *));
}

void test_show_bytes(int val) {
    int ival=val;
    float fval=(float)ival;
    int *pval=&ival;
    show_int(ival);
    int i;
    for(i=0;i<11;i++){
        printf(" ");
    }
    for(i=0;i<13;i++)
        printf("*");
    printf("\n");
    show_float(fval);
}

void main() {
    int val;
    scanf("%d", &val);
    test_show_bytes(val);
}
